/*
 * Decompiled with CFR 0.150.
 * 
 * Could not load the following classes:
 *  cn.hutool.core.collection.CollUtil
 *  cn.hutool.core.util.ObjectUtil
 *  com.alibaba.fastjson.JSON
 *  de.felixroske.jfxsupport.FXMLController
 *  javafx.collections.FXCollections
 *  javafx.collections.ObservableList
 *  javafx.event.EventHandler
 *  javafx.fxml.FXML
 *  javafx.fxml.Initializable
 *  javafx.scene.Node
 *  javafx.scene.control.Alert
 *  javafx.scene.control.Alert$AlertType
 *  javafx.scene.control.Button
 *  javafx.scene.control.CheckBox
 *  javafx.scene.control.ScrollPane
 *  javafx.scene.control.TableCell
 *  javafx.scene.control.TableColumn
 *  javafx.scene.control.TableView
 *  javafx.scene.control.TextField
 *  javafx.scene.control.cell.PropertyValueFactory
 *  javafx.scene.input.KeyCode
 *  javafx.scene.input.KeyEvent
 *  javafx.scene.layout.AnchorPane
 *  javafx.scene.layout.VBox
 *  javafx.stage.Stage
 *  javafx.util.Callback
 *  org.springframework.beans.factory.annotation.Autowired
 *  org.springframework.util.CollectionUtils
 */
package com.gys.controller.returnDepot;

import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.gys.common.business.DepotUtil;
import com.gys.common.data.HttpJson;
import com.gys.common.util.CacheUtil;
import com.gys.common.util.ConstUtil;
import com.gys.common.util.SpringUtil;
import com.gys.controller.BaseController;
import com.gys.controller.index.IndexController;
import com.gys.controller.returnDepot.AddDepotController;
import com.gys.data.accept.ProductOutData;
import com.gys.data.example.GetLoginStoreOutData;
import com.gys.data.productSortSetting.GetProductInData;
import com.gys.view.returnDepot.ChooseProduct;
import de.felixroske.jfxsupport.FXMLController;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.ResourceBundle;
import java.util.Timer;
import java.util.TimerTask;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.Node;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.CheckBox;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import javafx.util.Callback;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;

@FXMLController
public class ChooseProductController
extends BaseController
implements Initializable {
    private final int pageSize = ConstUtil.DEFAULT_PAGESIZE;
    private final int defaultPageCount = ConstUtil.DEFAULT_PAGECOUNT;
    private ObservableList<ProductOutData> observableTableList = FXCollections.observableArrayList(new ArrayList());
    @FXML
    private AnchorPane anchorPane;
    @FXML
    private ScrollPane scrollPane;
    @FXML
    private VBox vBox;
    @FXML
    private Button enterBtn;
    @FXML
    private TableView<ProductOutData> tableView;
    @FXML
    private TextField proCodeQuery;
    @FXML
    private TextField proNameQuery;
    @FXML
    private TableColumn<ProductOutData, CheckBox> checkBox;
    @FXML
    private TableColumn<ProductOutData, String> proCode;
    @FXML
    private TableColumn<ProductOutData, String> gspgProName;
    @FXML
    private TableColumn<ProductOutData, String> gspgSpecs;
    @FXML
    private TableColumn<ProductOutData, String> proPrice;
    @FXML
    private TableColumn<ProductOutData, String> proPlace;
    @FXML
    private TableColumn<ProductOutData, String> batchNo;
    @FXML
    private TableColumn<ProductOutData, String> batch;
    @FXML
    private TableColumn<ProductOutData, String> validDate;
    @FXML
    private TableColumn<ProductOutData, String> stockQty;
    @Autowired
    private AddDepotController addDepotController;
    @Autowired
    private IndexController indexController;
    private Timer timer = new Timer();

    public void initialize(URL location, ResourceBundle resources) {
        this.scrollPane.setPrefWidth(this.getContentWidth());
        this.scrollPane.setPrefHeight(this.getContentHeight());
        this.vBox.setPrefWidth(this.getContentWidth());
        this.vBox.setPrefHeight(this.getContentHeight());
        this.tableView.setPrefWidth(this.getContentWidth());
        this.init();
    }

    @Override
    public void init() {
        this.timer.schedule(new TimerTask(){

            @Override
            public void run() {
                ChooseProduct view = SpringUtil.getBean(ChooseProduct.class);
                Stage stage = (Stage)view.getView().getScene().getWindow();
                stage.getScene().setOnKeyReleased((EventHandler)new EventHandler<KeyEvent>(){

                    public void handle(KeyEvent event) {
                        if (event.getCode() == KeyCode.ENTER) {
                            ChooseProductController.this.saveAdd();
                            return;
                        }
                        if (event.getCode() == KeyCode.ESCAPE) {
                            ChooseProductController.this.closeWindows();
                            return;
                        }
                    }
                });
            }
        }, 1000L);
        this.initTable();
    }

    @FXML
    private void saveAdd() {
        Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", null);
        List<Integer> indexList = this.getSelectIndex();
        if (ObjectUtil.isEmpty(indexList)) {
            alert.setContentText("\u8bf7\u9009\u62e9\u8bb0\u5f55");
            alert.showAndWait();
            return;
        }
        ProductOutData outData = new ProductOutData();
        for (Integer index : indexList) {
            outData = (ProductOutData)this.observableTableList.get(index - 1);
        }
        this.addDepotController.addProduct(outData);
        this.init();
        this.anchorPane.getScene().getWindow().hide();
    }

    @FXML
    private void closeWindows() {
        this.init();
        this.anchorPane.getScene().getWindow().hide();
    }

    public TableView<ProductOutData> initTable() {
        GetProductInData inData = new GetProductInData();
        if (ObjectUtil.isNotEmpty(this.proCodeQuery.getText().trim())) {
            inData.setGspgProId(this.proCodeQuery.getText().trim());
        }
        if (ObjectUtil.isNotEmpty(this.proNameQuery.getText().trim())) {
            inData.setGspgProName(this.proNameQuery.getText().trim());
        }
        inData.setStoreCode(((GetLoginStoreOutData)CacheUtil.get("store")).getStoCode());
        HttpJson rsp = DepotUtil.queryPro(inData);
        if (!rsp.isSuccess()) {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", rsp.getMsg());
            alert.showAndWait();
            return new TableView();
        }
        List<ProductOutData> list = JSON.parseArray((String)rsp.getMsg(), ProductOutData.class);
        int i = 0;
        for (ProductOutData outData : list) {
            outData.setIndex(i + 1);
            ++i;
        }
        this.observableTableList.clear();
        this.observableTableList = FXCollections.observableArrayList((Collection)list);
        this.bingTableCell();
        this.tableView.setItems(this.observableTableList);
        return this.tableView;
    }

    private void bingTableCell() {
        this.checkBox.setCellValueFactory(cellData -> ((ProductOutData)cellData.getValue()).getCheckBox().getCustomCheckBox());
        this.checkBox.setCellFactory(col -> {
            TableCell<ProductOutData, CheckBox> cell = new TableCell<ProductOutData, CheckBox>(){

                protected void updateItem(CheckBox item, boolean empty) {
                    super.updateItem(item, empty);
                    this.setGraphic((Node)item);
                    if (item != null) {
                        item.setOnMouseClicked(col -> {
                            if (CollUtil.isEmpty((Collection)ChooseProductController.this.observableTableList)) {
                                return;
                            }
                            int index = this.getIndex();
                            for (int i = 0; i < ChooseProductController.this.observableTableList.size(); ++i) {
                                if (i == index) continue;
                                ((ProductOutData)ChooseProductController.this.observableTableList.get(i)).getCheckBox().setSelectStatus(false);
                            }
                        });
                    }
                }
            };
            return cell;
        });
        this.proCode.setCellValueFactory((Callback)new PropertyValueFactory(this.proCode.getId()));
        this.gspgProName.setCellValueFactory((Callback)new PropertyValueFactory(this.gspgProName.getId()));
        this.gspgSpecs.setCellValueFactory((Callback)new PropertyValueFactory(this.gspgSpecs.getId()));
        this.proPrice.setCellValueFactory((Callback)new PropertyValueFactory(this.proPrice.getId()));
        this.proPlace.setCellValueFactory((Callback)new PropertyValueFactory(this.proPlace.getId()));
        this.batchNo.setCellValueFactory((Callback)new PropertyValueFactory(this.batchNo.getId()));
        this.batch.setCellValueFactory((Callback)new PropertyValueFactory(this.batch.getId()));
        this.validDate.setCellValueFactory((Callback)new PropertyValueFactory(this.validDate.getId()));
        this.stockQty.setCellValueFactory((Callback)new PropertyValueFactory(this.stockQty.getId()));
    }

    private List<Integer> getSelectIndex() {
        ArrayList<Integer> ids = new ArrayList<Integer>();
        if (!CollectionUtils.isEmpty(this.observableTableList)) {
            for (ProductOutData i : this.observableTableList) {
                if (!i.getCheckBox().isSelected().booleanValue()) continue;
                ids.add(i.getIndex());
            }
        }
        return ids;
    }

    public int getPageSize() {
        return this.pageSize;
    }

    public int getDefaultPageCount() {
        return this.defaultPageCount;
    }

    public ObservableList<ProductOutData> getObservableTableList() {
        return this.observableTableList;
    }

    public AnchorPane getAnchorPane() {
        return this.anchorPane;
    }

    public ScrollPane getScrollPane() {
        return this.scrollPane;
    }

    public VBox getVBox() {
        return this.vBox;
    }

    public Button getEnterBtn() {
        return this.enterBtn;
    }

    public TableView<ProductOutData> getTableView() {
        return this.tableView;
    }

    public TextField getProCodeQuery() {
        return this.proCodeQuery;
    }

    public TextField getProNameQuery() {
        return this.proNameQuery;
    }

    public TableColumn<ProductOutData, CheckBox> getCheckBox() {
        return this.checkBox;
    }

    public TableColumn<ProductOutData, String> getProCode() {
        return this.proCode;
    }

    public TableColumn<ProductOutData, String> getGspgProName() {
        return this.gspgProName;
    }

    public TableColumn<ProductOutData, String> getGspgSpecs() {
        return this.gspgSpecs;
    }

    public TableColumn<ProductOutData, String> getProPrice() {
        return this.proPrice;
    }

    public TableColumn<ProductOutData, String> getProPlace() {
        return this.proPlace;
    }

    public TableColumn<ProductOutData, String> getBatchNo() {
        return this.batchNo;
    }

    public TableColumn<ProductOutData, String> getBatch() {
        return this.batch;
    }

    public TableColumn<ProductOutData, String> getValidDate() {
        return this.validDate;
    }

    public TableColumn<ProductOutData, String> getStockQty() {
        return this.stockQty;
    }

    public AddDepotController getAddDepotController() {
        return this.addDepotController;
    }

    public IndexController getIndexController() {
        return this.indexController;
    }

    public Timer getTimer() {
        return this.timer;
    }

    public void setObservableTableList(ObservableList<ProductOutData> observableTableList) {
        this.observableTableList = observableTableList;
    }

    public void setAnchorPane(AnchorPane anchorPane) {
        this.anchorPane = anchorPane;
    }

    public void setScrollPane(ScrollPane scrollPane) {
        this.scrollPane = scrollPane;
    }

    public void setVBox(VBox vBox) {
        this.vBox = vBox;
    }

    public void setEnterBtn(Button enterBtn) {
        this.enterBtn = enterBtn;
    }

    public void setTableView(TableView<ProductOutData> tableView) {
        this.tableView = tableView;
    }

    public void setProCodeQuery(TextField proCodeQuery) {
        this.proCodeQuery = proCodeQuery;
    }

    public void setProNameQuery(TextField proNameQuery) {
        this.proNameQuery = proNameQuery;
    }

    public void setCheckBox(TableColumn<ProductOutData, CheckBox> checkBox) {
        this.checkBox = checkBox;
    }

    public void setProCode(TableColumn<ProductOutData, String> proCode) {
        this.proCode = proCode;
    }

    public void setGspgProName(TableColumn<ProductOutData, String> gspgProName) {
        this.gspgProName = gspgProName;
    }

    public void setGspgSpecs(TableColumn<ProductOutData, String> gspgSpecs) {
        this.gspgSpecs = gspgSpecs;
    }

    public void setProPrice(TableColumn<ProductOutData, String> proPrice) {
        this.proPrice = proPrice;
    }

    public void setProPlace(TableColumn<ProductOutData, String> proPlace) {
        this.proPlace = proPlace;
    }

    public void setBatchNo(TableColumn<ProductOutData, String> batchNo) {
        this.batchNo = batchNo;
    }

    public void setBatch(TableColumn<ProductOutData, String> batch) {
        this.batch = batch;
    }

    public void setValidDate(TableColumn<ProductOutData, String> validDate) {
        this.validDate = validDate;
    }

    public void setStockQty(TableColumn<ProductOutData, String> stockQty) {
        this.stockQty = stockQty;
    }

    public void setAddDepotController(AddDepotController addDepotController) {
        this.addDepotController = addDepotController;
    }

    public void setIndexController(IndexController indexController) {
        this.indexController = indexController;
    }

    public void setTimer(Timer timer) {
        this.timer = timer;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof ChooseProductController)) {
            return false;
        }
        ChooseProductController other = (ChooseProductController)o;
        if (!other.canEqual(this)) {
            return false;
        }
        if (this.getPageSize() != other.getPageSize()) {
            return false;
        }
        if (this.getDefaultPageCount() != other.getDefaultPageCount()) {
            return false;
        }
        ObservableList<ProductOutData> this$observableTableList = this.getObservableTableList();
        ObservableList<ProductOutData> other$observableTableList = other.getObservableTableList();
        if (this$observableTableList == null ? other$observableTableList != null : !this$observableTableList.equals(other$observableTableList)) {
            return false;
        }
        AnchorPane this$anchorPane = this.getAnchorPane();
        AnchorPane other$anchorPane = other.getAnchorPane();
        if (this$anchorPane == null ? other$anchorPane != null : !this$anchorPane.equals(other$anchorPane)) {
            return false;
        }
        ScrollPane this$scrollPane = this.getScrollPane();
        ScrollPane other$scrollPane = other.getScrollPane();
        if (this$scrollPane == null ? other$scrollPane != null : !this$scrollPane.equals(other$scrollPane)) {
            return false;
        }
        VBox this$vBox = this.getVBox();
        VBox other$vBox = other.getVBox();
        if (this$vBox == null ? other$vBox != null : !this$vBox.equals(other$vBox)) {
            return false;
        }
        Button this$enterBtn = this.getEnterBtn();
        Button other$enterBtn = other.getEnterBtn();
        if (this$enterBtn == null ? other$enterBtn != null : !this$enterBtn.equals(other$enterBtn)) {
            return false;
        }
        TableView<ProductOutData> this$tableView = this.getTableView();
        TableView<ProductOutData> other$tableView = other.getTableView();
        if (this$tableView == null ? other$tableView != null : !this$tableView.equals(other$tableView)) {
            return false;
        }
        TextField this$proCodeQuery = this.getProCodeQuery();
        TextField other$proCodeQuery = other.getProCodeQuery();
        if (this$proCodeQuery == null ? other$proCodeQuery != null : !this$proCodeQuery.equals(other$proCodeQuery)) {
            return false;
        }
        TextField this$proNameQuery = this.getProNameQuery();
        TextField other$proNameQuery = other.getProNameQuery();
        if (this$proNameQuery == null ? other$proNameQuery != null : !this$proNameQuery.equals(other$proNameQuery)) {
            return false;
        }
        TableColumn<ProductOutData, CheckBox> this$checkBox = this.getCheckBox();
        TableColumn<ProductOutData, CheckBox> other$checkBox = other.getCheckBox();
        if (this$checkBox == null ? other$checkBox != null : !this$checkBox.equals(other$checkBox)) {
            return false;
        }
        TableColumn<ProductOutData, String> this$proCode = this.getProCode();
        TableColumn<ProductOutData, String> other$proCode = other.getProCode();
        if (this$proCode == null ? other$proCode != null : !this$proCode.equals(other$proCode)) {
            return false;
        }
        TableColumn<ProductOutData, String> this$gspgProName = this.getGspgProName();
        TableColumn<ProductOutData, String> other$gspgProName = other.getGspgProName();
        if (this$gspgProName == null ? other$gspgProName != null : !this$gspgProName.equals(other$gspgProName)) {
            return false;
        }
        TableColumn<ProductOutData, String> this$gspgSpecs = this.getGspgSpecs();
        TableColumn<ProductOutData, String> other$gspgSpecs = other.getGspgSpecs();
        if (this$gspgSpecs == null ? other$gspgSpecs != null : !this$gspgSpecs.equals(other$gspgSpecs)) {
            return false;
        }
        TableColumn<ProductOutData, String> this$proPrice = this.getProPrice();
        TableColumn<ProductOutData, String> other$proPrice = other.getProPrice();
        if (this$proPrice == null ? other$proPrice != null : !this$proPrice.equals(other$proPrice)) {
            return false;
        }
        TableColumn<ProductOutData, String> this$proPlace = this.getProPlace();
        TableColumn<ProductOutData, String> other$proPlace = other.getProPlace();
        if (this$proPlace == null ? other$proPlace != null : !this$proPlace.equals(other$proPlace)) {
            return false;
        }
        TableColumn<ProductOutData, String> this$batchNo = this.getBatchNo();
        TableColumn<ProductOutData, String> other$batchNo = other.getBatchNo();
        if (this$batchNo == null ? other$batchNo != null : !this$batchNo.equals(other$batchNo)) {
            return false;
        }
        TableColumn<ProductOutData, String> this$batch = this.getBatch();
        TableColumn<ProductOutData, String> other$batch = other.getBatch();
        if (this$batch == null ? other$batch != null : !this$batch.equals(other$batch)) {
            return false;
        }
        TableColumn<ProductOutData, String> this$validDate = this.getValidDate();
        TableColumn<ProductOutData, String> other$validDate = other.getValidDate();
        if (this$validDate == null ? other$validDate != null : !this$validDate.equals(other$validDate)) {
            return false;
        }
        TableColumn<ProductOutData, String> this$stockQty = this.getStockQty();
        TableColumn<ProductOutData, String> other$stockQty = other.getStockQty();
        if (this$stockQty == null ? other$stockQty != null : !this$stockQty.equals(other$stockQty)) {
            return false;
        }
        AddDepotController this$addDepotController = this.getAddDepotController();
        AddDepotController other$addDepotController = other.getAddDepotController();
        if (this$addDepotController == null ? other$addDepotController != null : !(this$addDepotController).equals(other$addDepotController)) {
            return false;
        }
        IndexController this$indexController = this.getIndexController();
        IndexController other$indexController = other.getIndexController();
        if (this$indexController == null ? other$indexController != null : !(this$indexController).equals(other$indexController)) {
            return false;
        }
        Timer this$timer = this.getTimer();
        Timer other$timer = other.getTimer();
        return !(this$timer == null ? other$timer != null : !this$timer.equals(other$timer));
    }

    protected boolean canEqual(Object other) {
        return other instanceof ChooseProductController;
    }

    public int hashCode() {
        int PRIME = 59;
        int result = 1;
        result = result * 59 + this.getPageSize();
        result = result * 59 + this.getDefaultPageCount();
        ObservableList<ProductOutData> $observableTableList = this.getObservableTableList();
        result = result * 59 + ($observableTableList == null ? 43 : $observableTableList.hashCode());
        AnchorPane $anchorPane = this.getAnchorPane();
        result = result * 59 + ($anchorPane == null ? 43 : $anchorPane.hashCode());
        ScrollPane $scrollPane = this.getScrollPane();
        result = result * 59 + ($scrollPane == null ? 43 : $scrollPane.hashCode());
        VBox $vBox = this.getVBox();
        result = result * 59 + ($vBox == null ? 43 : $vBox.hashCode());
        Button $enterBtn = this.getEnterBtn();
        result = result * 59 + ($enterBtn == null ? 43 : $enterBtn.hashCode());
        TableView<ProductOutData> $tableView = this.getTableView();
        result = result * 59 + ($tableView == null ? 43 : $tableView.hashCode());
        TextField $proCodeQuery = this.getProCodeQuery();
        result = result * 59 + ($proCodeQuery == null ? 43 : $proCodeQuery.hashCode());
        TextField $proNameQuery = this.getProNameQuery();
        result = result * 59 + ($proNameQuery == null ? 43 : $proNameQuery.hashCode());
        TableColumn<ProductOutData, CheckBox> $checkBox = this.getCheckBox();
        result = result * 59 + ($checkBox == null ? 43 : $checkBox.hashCode());
        TableColumn<ProductOutData, String> $proCode = this.getProCode();
        result = result * 59 + ($proCode == null ? 43 : $proCode.hashCode());
        TableColumn<ProductOutData, String> $gspgProName = this.getGspgProName();
        result = result * 59 + ($gspgProName == null ? 43 : $gspgProName.hashCode());
        TableColumn<ProductOutData, String> $gspgSpecs = this.getGspgSpecs();
        result = result * 59 + ($gspgSpecs == null ? 43 : $gspgSpecs.hashCode());
        TableColumn<ProductOutData, String> $proPrice = this.getProPrice();
        result = result * 59 + ($proPrice == null ? 43 : $proPrice.hashCode());
        TableColumn<ProductOutData, String> $proPlace = this.getProPlace();
        result = result * 59 + ($proPlace == null ? 43 : $proPlace.hashCode());
        TableColumn<ProductOutData, String> $batchNo = this.getBatchNo();
        result = result * 59 + ($batchNo == null ? 43 : $batchNo.hashCode());
        TableColumn<ProductOutData, String> $batch = this.getBatch();
        result = result * 59 + ($batch == null ? 43 : $batch.hashCode());
        TableColumn<ProductOutData, String> $validDate = this.getValidDate();
        result = result * 59 + ($validDate == null ? 43 : $validDate.hashCode());
        TableColumn<ProductOutData, String> $stockQty = this.getStockQty();
        result = result * 59 + ($stockQty == null ? 43 : $stockQty.hashCode());
        AddDepotController $addDepotController = this.getAddDepotController();
        result = result * 59 + ($addDepotController == null ? 43 : ($addDepotController).hashCode());
        IndexController $indexController = this.getIndexController();
        result = result * 59 + ($indexController == null ? 43 : ($indexController).hashCode());
        Timer $timer = this.getTimer();
        result = result * 59 + ($timer == null ? 43 : $timer.hashCode());
        return result;
    }

    public String toString() {
        return "ChooseProductController(pageSize=" + this.getPageSize() + ", defaultPageCount=" + this.getDefaultPageCount() + ", observableTableList=" + this.getObservableTableList() + ", anchorPane=" + this.getAnchorPane() + ", scrollPane=" + this.getScrollPane() + ", vBox=" + this.getVBox() + ", enterBtn=" + this.getEnterBtn() + ", tableView=" + this.getTableView() + ", proCodeQuery=" + this.getProCodeQuery() + ", proNameQuery=" + this.getProNameQuery() + ", checkBox=" + this.getCheckBox() + ", proCode=" + this.getProCode() + ", gspgProName=" + this.getGspgProName() + ", gspgSpecs=" + this.getGspgSpecs() + ", proPrice=" + this.getProPrice() + ", proPlace=" + this.getProPlace() + ", batchNo=" + this.getBatchNo() + ", batch=" + this.getBatch() + ", validDate=" + this.getValidDate() + ", stockQty=" + this.getStockQty() + ", addDepotController=" + this.getAddDepotController() + ", indexController=" + this.getIndexController() + ", timer=" + this.getTimer() + ")";
    }
}

